﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//using System.Threading.Tasks;

namespace DataTypes
{
    public class DataBoleta
    {
   
        
        public DateTime FecJornal { get; set; }
        public int Id { get; set; }
        public string CedulaEmpleado { get; set; }
        public String Matricula { get; set; }
        public int HsTrabajadas { get; set; }
        public int KmEntrada { get; set; }
        public int KmSalida { get; set; }
        public float Importe { get; set; }
        public bool EsDepositoBancario { get; set; }
        public string Observaciones { get; set; }
        public string Estado { get; set; } //por defecto el estado de las facturas es abierto al crearse
        public static List<DataGasto> Gastos;

        public DataBoleta()
        { }

        // OJO:  se quita "float impGast"

        public DataBoleta(DateTime fecJorn, int hsTrab, int kmE, int kmS, float imp, bool ticket, string Obs, string estado, List<DataGasto> gastos, string ced, string matr)
        {
            FecJornal = fecJorn;
            HsTrabajadas = hsTrab;
            KmEntrada = kmE;
            KmSalida = kmS;
            Importe = imp;
            EsDepositoBancario = ticket;
            Observaciones = Obs;
            Estado = estado;
            Gastos = gastos;
            Matricula = matr;
            CedulaEmpleado = ced;
        }

        public DataBoleta(int id, DateTime fecJorn , int hsTrab, int kmE, int kmS, float imp,
            bool ticket, string Obs, string estado, List<DataGasto> gastos, string ced, string matr)
        {
            Id= id;
            FecJornal = fecJorn;
            HsTrabajadas = hsTrab;
            KmEntrada = kmE;
            KmSalida = kmS;
            Importe = imp;
            EsDepositoBancario = ticket;
            Observaciones = Obs;
            Estado = estado;
            Gastos = gastos;
            Matricula = matr;
            CedulaEmpleado = ced;
        }

        public void InicializarListaGastos()
        {
            Gastos = new List<DataGasto>();
        }

        public List<DataGasto> ObtenerGastos()
        {
            return Gastos;
        }

        public void AgregarGasto(DataGasto gasto)
        {
            Gastos.Add(gasto);
        }

        public void EliminarGasto(DataGasto gasto)
        {
            Gastos.Remove(gasto);
        }
    }
}